package com.luo.chengrui.module.sa.dal.redis;

/**
 * 支付 Redis Key 枚举类
 *
 * @author 芋道源码
 */
public interface RedisKeyConstants {

    /**
     * 角色id所有拥有的菜单缓存
     * <p>
     * KEY 格式：sa_menu_role_ids:{roleId}
     * VALUE 数据类型：String 角色编号集合
     */
    String SA_MENU_ROLE_ID_LIST = "sa_menu_role_ids";


    String SA_USER_ORG_LIST = "sa_user_org_list";


    /**
     * 人员 所拥有的所有岗位缓存，包含主岗位和兼岗位缓存。
     * KEY 格式：sa_person_all_psm_full_ids:{systemUserId}
     */
    String SA_PERSON_ALL_PSM_FULL_IDS = "sa_person_all_psm_full_ids";

    /**
     * 人员Full_id所拥有的授权角色缓存。包含自己的和继承的角色。拿到角色后要业务判断是否已经排除。
     * KEY 格式：sa_psm_auth_list:{orgFullId}
     */
    String SA_PSM_AUTH_LIST = "sa_psm_auth_list";


    /**
     * 人员system_user_id 所拥有的所有菜单权限绑在。
     * KEY 格式：sa_person_permissions_codes:{systemUserId}
     */
    String SA_PERSON_PERMISSIONS_CODES = "sa_person_permissions_codes";

    /**
     * 权限基础数据集合。
     * KEY 格式：sa_permission_define_data:{defineId}
     */
    String SA_PERMISSION_DEFINE_DATA = "sa_permission_define_data";
    /**
     * 权限基础数据集合。#1m 表示缓存1分钟有效。1分钟后会在redis清除。
     * KEY 格式：sa_user_permission#1m:{defineId}
     */
    String SA_USER_PERMISSION = "sa_user_permission#1m";
}
